console.log('script start')
    async function async1() {
      await async2() //await会让后面的代码立即执行， 会导致下面的代码去到下一次的微任务队列 (阻塞后序代码的执行)
      console.log('async1 end') //v8正在违反规定，将await后面的代码提上一个循环
    }
    async function async2() {
      console.log('async2 end')
    }
    async1()
    setTimeout(function () {
      console.log('setTimeout')
    }, 0)
    new Promise(resolve => {
      console.log('Promise') 
      resolve()
    })
      .then(function () {
        console.log('promise1')
      })
      .then(function () {
        console.log('promise2')
      })
    console.log('script end')

    // script start
    // async2 end
    // promise
    // script end
    // async1 end
    // Promise1
    // Promise2
    // setTimeout
    